package com.zhiche.lisa.bms.pojo.vo.fee;

import com.alibaba.fastjson.annotation.JSONField;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author: liuanshun
 * @Description:
 * @Date: Create in 11:22 2019/1/29
 */
public class FeeRewardConventVO {
    //super Property
    private Long id;
    /**
     * 奖赏项编码
     */
    private String redCode;
    /**
     * bms的开票申请主键
     */
    private String bmsInvoiceId;
    /**
     * 奖赏月
     */
    @JSONField(format = "yyyy-MM")
    private Date redMonth;
    /**
     * OTM运单号明细
     */
    private String waybillDtlId;
    /**
     * 分供方名称
     */
    private String lspName;
    /**
     * 分供方id
     */
    private Long lspId;
    /**
     * 承运人类型 10-承运商, 20-车队, 30-司机
     */
    private String fleetTeye;
    /**
     * 实际承运人
     */
    private String fleetStatus;
    /**
     * 实际承运人id
     */
    private Long fleetId;
    /**
     * 司机手机号
     */
    private String driverPhone;
    /**
     * 送车证号
     */
    private String sendCarPass;
    /**
     * 类型; 0-票内, 1-票外
     */
    private Integer invoiceType;
    /**
     * 奖赏方式
     */
    private String redWay;
    /**
     * 奖赏项目
     */
    private String redItem;
    /**
     * 奖赏原因
     */
    private String redCause;
    /**
     * 奖赏金额
     */
    private BigDecimal redSum;
    /**
     * 考核部门
     */
    private String redDep;
    /**
     * 创建时间
     */
    private Date gmtCreate;
    /**
     * 修改时间
     */
    private Date gmtModify;
    /**
     * 0-未上传 1-已上传
     */
    private Integer isPut;
    /**
     * 是否生成C端奖赏 0-否 1-是
     */
    private Integer isCreate;
    /**
     * 已执行金额
     */
    private BigDecimal performSum;
    /**
     * 剩余金额
     */
    private BigDecimal balanceSum;
    /**
     * 是否挂起
     */
    private Integer isHang;
    /**
     * bms执行金额
     */
    private BigDecimal bmsSum;
    /**
     * 创建人
     */
    private Long creator;
    private Long proprietor;
    /**
     * 租户
     */
    private Long tenantId;


    //	feeRewardMapping
    private String fleetTypeName;
    private String invoiceTypeName;
    private String isPutVal;
    private String isCreateVal;
    private String isHangVal;
    /**
     * bms执行剩余金额
     */
    private BigDecimal bmsBalance;
    /**
     * 备注说明
     */
    private String descr;

    /**
     * 创建人
     */
    private String createUsername;

    /**
     * 运输方式
     */
    private String transportTypeName;

    /**
     * 关闭状态标识
     */
    private Integer closeFlag;
    /**
     * 关闭原因
     */
    private String closeReason;

    /**
     * 关闭状态
     */
    private String closeFlagStr;

    public String getFleetTypeName() {
        return fleetTypeName;
    }

    public void setFleetTypeName(String fleetTypeName) {
        this.fleetTypeName = fleetTypeName;
        if ("承运商".equals(fleetTypeName)) {
            fleetTeye = "10";
        } else if ("车队".equals(fleetTypeName)) {
            fleetTeye = "20";
        } else if ("司机".equals(fleetTypeName)) {
            fleetTeye = "30";
        }
    }

    public void setFleetTeye(String fleetTeye) {
        this.fleetTeye = fleetTeye;
        if ("10".equals(fleetTeye)) {
            fleetTypeName = "承运商";
        } else if ("20".equals(fleetTeye)) {
            fleetTypeName = "车队";
        } else if ("30".equals(fleetTeye)) {
            fleetTypeName = "司机";
        }
    }

    public String getInvoiceTypeName() {
        return invoiceTypeName;
    }

    public void setInvoiceTypeName(String invoiceTypeName) {
        this.invoiceTypeName = invoiceTypeName;
        if ("票内".equals(invoiceTypeName)) {
            invoiceType = 0;
        } else if ("票外".equals(invoiceTypeName)) {
            invoiceType = 1;
        }
    }

    public void setInvoiceType(Integer invoiceType) {
        this.invoiceType = invoiceType;
        if (new Integer(0).equals(invoiceType)) {
            invoiceTypeName = "票内";
        } else if (new Integer(1).equals(invoiceType)) {
            invoiceTypeName = "票外";
        }
    }

    public String getIsPutVal() {
        return isPutVal;
    }

    public void setIsPutVal(String isPutVal) {
        this.isPutVal = isPutVal;
        if ("未上传".equals(isPutVal)) {
            isPut = 0;
        } else if ("已上传".equals(isPutVal)) {
            isPut = 1;
        }
    }

    public void setIsPut(Integer isPut) {
        this.isPut = isPut;
        if (new Integer(0).equals(isPut)) {
            isPutVal = "未上传";
        } else if (new Integer(1).equals(isPut)) {
            isPutVal = "已上传";
        }
    }

    public String getIsCreateVal() {
        return isCreateVal;
    }

    public void setIsCreateVal(String isCreateVal) {
        this.isCreateVal = isCreateVal;
        if ("否".equals(isPutVal)) {
            isPut = 0;
        } else if ("是".equals(isPutVal)) {
            isPut = 1;
        }
    }

    public void setIsCreate(Integer isCreate) {
        this.isCreate = isCreate;
        if (new Integer(0).equals(isCreate)) {
            isCreateVal = "否";
        } else if (new Integer(1).equals(isCreate)) {
            isCreateVal = "是";
        }
    }

    public String getIsHangVal() {
        return isHangVal;
    }

    public void setIsHangVal(String isHangVal) {
        this.isHangVal = isHangVal;
        if ("否".equals(isHangVal)) {
            isHang = 0;
        } else if ("是".equals(isHangVal)) {
            isHang = 1;
        }
    }

    public void setIsHang(Integer isHang) {
        this.isHang = isHang;
        if (new Integer(0).equals(isHang)) {
            isHangVal = "否";
        } else if (new Integer(1).equals(isHang)) {
            isHangVal = "是";
        }
    }

    public String getCloseFlagStr() {
        return closeFlagStr;
    }

    public void setCloseFlagStr(String closeFlagStr) {
        this.closeFlagStr = closeFlagStr;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getRedCode() {
        return redCode;
    }

    public void setRedCode(String redCode) {
        this.redCode = redCode;
    }

    public Date getRedMonth() {
        return redMonth;
    }

    public void setRedMonth(Date redMonth) {
        this.redMonth = redMonth;
    }

    public String getWaybillDtlId() {
        return waybillDtlId;
    }

    public void setWaybillDtlId(String waybillDtlId) {
        this.waybillDtlId = waybillDtlId;
    }

    public String getLspName() {
        return lspName;
    }

    public void setLspName(String lspName) {
        this.lspName = lspName;
    }

    public Long getLspId() {
        return lspId;
    }

    public void setLspId(Long lspId) {
        this.lspId = lspId;
    }

    public String getFleetTeye() {
        return fleetTeye;
    }

    public String getFleetStatus() {
        return fleetStatus;
    }

    public void setFleetStatus(String fleetStatus) {
        this.fleetStatus = fleetStatus;
    }

    public Long getFleetId() {
        return fleetId;
    }

    public void setFleetId(Long fleetId) {
        this.fleetId = fleetId;
    }

    public String getDriverPhone() {
        return driverPhone;
    }

    public void setDriverPhone(String driverPhone) {
        this.driverPhone = driverPhone;
    }

    public String getSendCarPass() {
        return sendCarPass;
    }

    public void setSendCarPass(String sendCarPass) {
        this.sendCarPass = sendCarPass;
    }

    public Integer getInvoiceType() {
        return invoiceType;
    }

    public String getRedWay() {
        return redWay;
    }

    public void setRedWay(String redWay) {
        this.redWay = redWay;
    }

    public String getRedItem() {
        return redItem;
    }

    public void setRedItem(String redItem) {
        this.redItem = redItem;
    }

    public String getRedCause() {
        return redCause;
    }

    public void setRedCause(String redCause) {
        this.redCause = redCause;
    }

    public BigDecimal getRedSum() {
        return redSum;
    }

    public void setRedSum(BigDecimal redSum) {
        this.redSum = redSum;
    }

    public String getRedDep() {
        return redDep;
    }

    public void setRedDep(String redDep) {
        this.redDep = redDep;
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Date getGmtModify() {
        return gmtModify;
    }

    public void setGmtModify(Date gmtModify) {
        this.gmtModify = gmtModify;
    }

    public Integer getIsPut() {
        return isPut;
    }

    public Integer getIsCreate() {
        return isCreate;
    }

    public BigDecimal getPerformSum() {
        return performSum;
    }

    public void setPerformSum(BigDecimal performSum) {
        this.performSum = performSum;
    }

    public BigDecimal getBalanceSum() {
        return balanceSum;
    }

    public void setBalanceSum(BigDecimal balanceSum) {
        this.balanceSum = balanceSum;
    }

    public Integer getIsHang() {
        return isHang;
    }

    public BigDecimal getBmsSum() {
        return bmsSum;
    }

    public void setBmsSum(BigDecimal bmsSum) {
        this.bmsSum = bmsSum;
    }

    public Long getCreator() {
        return creator;
    }

    public void setCreator(Long creator) {
        this.creator = creator;
    }

    public Long getProprietor() {
        return proprietor;
    }

    public void setProprietor(Long proprietor) {
        this.proprietor = proprietor;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public String getBmsInvoiceId() {
        return bmsInvoiceId;
    }

    public void setBmsInvoiceId(String bmsInvoiceId) {
        this.bmsInvoiceId = bmsInvoiceId;
    }

    public String getCreateUsername() {
        return createUsername;
    }

    public void setCreateUsername(String createUsername) {
        this.createUsername = createUsername;
    }

    public BigDecimal getBmsBalance() {
        return bmsBalance;
    }

    public void setBmsBalance(BigDecimal bmsBalance) {
        this.bmsBalance = bmsBalance;
    }

    public String getDescr() {
        return descr;
    }

    public void setDescr(String descr) {
        this.descr = descr;
    }

    public String getTransportTypeName() {
        return transportTypeName;
    }

    public void setTransportTypeName(String transportTypeName) {
        this.transportTypeName = transportTypeName;
    }

    public Integer getCloseFlag() {
        return closeFlag;
    }

    public void setCloseFlag(Integer closeFlag) {
        this.closeFlag = closeFlag;
    }

    public String getCloseReason() {
        return closeReason;
    }

    public void setCloseReason(String closeReason) {
        this.closeReason = closeReason;
    }

    @Override
    public String toString() {
        return "FeeRewardConventVO{" +
                "id=" + id +
                ", redCode='" + redCode + '\'' +
                ", redMonth=" + redMonth +
                ", waybillDtlId='" + waybillDtlId + '\'' +
                ", lspName='" + lspName + '\'' +
                ", lspId=" + lspId +
                ", fleetTeye='" + fleetTeye + '\'' +
                ", fleetStatus='" + fleetStatus + '\'' +
                ", fleetId=" + fleetId +
                ", driverPhone='" + driverPhone + '\'' +
                ", sendCarPass='" + sendCarPass + '\'' +
                ", invoiceType=" + invoiceType +
                ", redWay='" + redWay + '\'' +
                ", redItem='" + redItem + '\'' +
                ", redCause='" + redCause + '\'' +
                ", redSum=" + redSum +
                ", redDep='" + redDep + '\'' +
                ", gmtCreate=" + gmtCreate +
                ", gmtModify=" + gmtModify +
                ", isPut=" + isPut +
                ", isCreate=" + isCreate +
                ", performSum=" + performSum +
                ", balanceSum=" + balanceSum +
                ", isHang=" + isHang +
                ", bmsSum=" + bmsSum +
                ", creator=" + creator +
                ", proprietor=" + proprietor +
                ", tenantId=" + tenantId +
                ", fleetTypeName='" + fleetTypeName + '\'' +
                ", invoiceTypeName='" + invoiceTypeName + '\'' +
                ", isPutVal='" + isPutVal + '\'' +
                ", isCreateVal='" + isCreateVal + '\'' +
                ", isHangVal='" + isHangVal + '\'' +
                '}';
    }
}
